﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using OrionApplication.OrionLib.Dao;
using OrionApplication.OrionLib.Orion;
using System.Reflection;

namespace OrionApplication.OrionForm
{
    public partial class OrionBaseSimpleForm : OrionBaseForm
    {
        #region constructeur
        public OrionBaseSimpleForm()
        {
            InitializeComponent();
        }

        public OrionBaseSimpleForm(String titreP)
            : base(titreP)
        {
            InitializeComponent();
        }
        #endregion

        #region Gestion des Boutons d'Action
        private void OrionFormBase_KeyDown(object sender, KeyEventArgs e)
        {
            // Gestion des boutons d'action
            switch (e.KeyCode)
            {
                case Keys.F1: if (kBtn1.Enabled) { LanceActionF1(kBtn1); } break;
                case Keys.F2: if (kBtn2.Enabled) { LanceActionF2(kBtn2); } break;
                case Keys.F3: if (kBtn3.Enabled) { LanceActionF3(kBtn3); } break;
                case Keys.F4: if (kBtn4.Enabled) { LanceActionF4(kBtn4); } break;
                case Keys.F5: if (kBtn5.Enabled) { LanceActionF5(kBtn5); } break;
                case Keys.F6: if (kBtn6.Enabled) { LanceActionF6(kBtn6); } break;
                case Keys.F7: if (kBtn7.Enabled) { LanceActionF7(kBtn7); } break;
                case Keys.F8: if (kBtn8.Enabled) { LanceActionF8(kBtn8); } break;
                case Keys.F9: if (kBtn9.Enabled) { LanceActionF9(kBtn9); } break;
                case Keys.F10: if (kBtn10.Enabled) { LanceActionF10(kBtn10); } break;
                case Keys.F11: if (kBtn11.Enabled) { LanceActionF11(kBtn11); } break;
                case Keys.F12: if (kBtn12.Enabled) { LanceActionF12(kBtn12); } break;
                default: break;
            }
        }

        private void kBtn1_Click(object sender, EventArgs e)
        {
            this.LanceActionF1(sender);
        }

        private void kBtn2_Click(object sender, EventArgs e)
        {
            this.LanceActionF2(sender);
        }

        private void kBtn3_Click(object sender, EventArgs e)
        {
            this.LanceActionF3(sender);
        }

        private void kBtn4_Click(object sender, EventArgs e)
        {
            this.LanceActionF4(sender);
        }

        private void kBtn5_Click(object sender, EventArgs e)
        {
            this.LanceActionF5(sender);
        }

        private void kBtn6_Click(object sender, EventArgs e)
        {
            this.LanceActionF6(sender);
        }

        private void kBtn7_Click(object sender, EventArgs e)
        {
            this.LanceActionF7(sender);
        }

        private void kBtn8_Click(object sender, EventArgs e)
        {
            this.LanceActionF8(sender);
        }

        private void kBtn9_Click(object sender, EventArgs e)
        {
            this.LanceActionF9(sender);
        }

        private void kBtn10_Click(object sender, EventArgs e)
        {
            this.LanceActionF10(sender);
        }

        private void kBtn11_Click(object sender, EventArgs e)
        {
            this.LanceActionF11(sender);
        }

        private void kBtn12_Click(object sender, EventArgs e)
        {
            this.LanceActionF12(sender);
        }

        /// <summary>
        /// Réalise les actions par la touche F1
        /// </summary>
        protected virtual void LanceActionF1(object sender)
        {
            this.ParseLanceAction((Control)sender, "ONCLICK");
        }

        /// <summary>
        /// Réalise les actions par la touche F2
        /// </summary>
        protected virtual void LanceActionF2(object sender)
        {
            this.ParseLanceAction((Control)sender, "ONCLICK");
        }

        /// <summary>
        /// Réalise les actions par la touche F3
        /// </summary>
        protected virtual void LanceActionF3(object sender)
        {
            this.ParseLanceAction((Control)sender, "ONCLICK");
        }

        /// <summary>
        /// Réalise les actions par la touche F4
        /// </summary>
        protected virtual void LanceActionF4(object sender)
        {
            this.ParseLanceAction((Control)sender, "ONCLICK");
        }

        /// <summary>
        /// Réalise les actions par la touche F5
        /// </summary>
        protected virtual void LanceActionF5(object sender)
        {
            this.ParseLanceAction((Control)sender, "ONCLICK");
        }

        /// <summary>
        /// Réalise les actions par la touche F6
        /// </summary>
        protected virtual void LanceActionF6(object sender)
        {
            this.ParseLanceAction((Control)sender, "ONCLICK");
        }

        /// <summary>
        /// Réalise les actions par la touche F7
        /// </summary>
        protected virtual void LanceActionF7(object sender)
        {
            this.ParseLanceAction((Control)sender, "ONCLICK");
        }

        /// <summary>
        /// Réalise les actions par la touche F8
        /// </summary>
        protected virtual void LanceActionF8(object sender)
        {
            this.ParseLanceAction((Control)sender, "ONCLICK");
        }

        /// <summary>
        /// Réalise les actions par la touche F9
        /// </summary>
        protected virtual void LanceActionF9(object sender)
        {
            this.ParseLanceAction((Control)sender, "ONCLICK");
        }

        /// <summary>
        /// Réalise les actions par la touche F10
        /// </summary>
        protected virtual void LanceActionF10(object sender)
        {
            this.ParseLanceAction((Control)sender, "ONCLICK");
        }

        /// <summary>
        /// Réalise les actions par la touche F11
        /// </summary>
        protected virtual void LanceActionF11(object sender)
        {
            this.ParseLanceAction((Control)sender, "ONCLICK");
        }

        /// <summary>
        /// Réalise les actions par la touche F12
        /// </summary>
        protected virtual void LanceActionF12(object sender)
        {
            this.ParseLanceAction((Control)sender, "ONCLICK");
        }
        
        private void OrionBaseSimpleForm_KeyDown(object sender, KeyEventArgs e)
        {
            // Gestion des boutons d'action
            switch (e.KeyCode)
            {
                case Keys.F1: if (kBtn1.Enabled) { LanceActionF1(kBtn1); } break;
                case Keys.F2: if (kBtn2.Enabled) { LanceActionF2(kBtn2); } break;
                case Keys.F3: if (kBtn3.Enabled) { LanceActionF3(kBtn3); } break;
                case Keys.F4: if (kBtn4.Enabled) { LanceActionF4(kBtn4); } break;
                case Keys.F5: if (kBtn5.Enabled) { LanceActionF5(kBtn5); } break;
                case Keys.F6: if (kBtn6.Enabled) { LanceActionF6(kBtn6); } break;
                case Keys.F7: if (kBtn7.Enabled) { LanceActionF7(kBtn7); } break;
                case Keys.F8: if (kBtn8.Enabled) { LanceActionF8(kBtn8); } break;
                case Keys.F9: if (kBtn9.Enabled) { LanceActionF9(kBtn9); } break;
                case Keys.F10: if (kBtn10.Enabled) { LanceActionF10(kBtn10); } break;
                case Keys.F11: if (kBtn11.Enabled) { LanceActionF11(kBtn11); } break;
                case Keys.F12: if (kBtn12.Enabled) { LanceActionF12(kBtn12); } break;
                default: break;
            }
        }

        #region EtatBouton
        /// <summary>
        /// Permet d'activer ou non un Bouton de la barre de menu
        /// </summary>
        /// <param name="F1">True sera actif, False sera inactif</param>
        /// <param name="F2">True sera actif, False sera inactif</param>
        /// <param name="F3">True sera actif, False sera inactif</param>
        /// <param name="F4">True sera actif, False sera inactif</param>
        /// <param name="F5">True sera actif, False sera inactif</param>
        /// <param name="F6">True sera actif, False sera inactif</param>
        /// <param name="F7">True sera actif, False sera inactif</param>
        /// <param name="F8">True sera actif, False sera inactif</param>
        /// <param name="F9">True sera actif, False sera inactif</param>
        /// <param name="F10">True sera actif, False sera inactif</param>
        /// <param name="F11">True sera actif, False sera inactif</param>
        /// <param name="F12">True sera actif, False sera inactif</param>
        public void EtatBouton(bool F1, bool F2, bool F3, bool F4, bool F5, bool F6,
            bool F7, bool F8, bool F9, bool F10, bool F11, bool F12)
        {
            this.kBtn1.Enabled = F1;
            this.kBtn2.Enabled = F2;
            this.kBtn3.Enabled = F3;
            this.kBtn4.Enabled = F4;
            this.kBtn5.Enabled = F5;
            this.kBtn6.Enabled = F6;
            this.kBtn7.Enabled = F7;
            this.kBtn8.Enabled = F8;
            this.kBtn9.Enabled = F9;
            this.kBtn10.Enabled = F10;
            this.kBtn11.Enabled = F11;
            this.kBtn12.Enabled = F12;
        }

        /// <summary>
        /// Permet d'activer ou non un Bouton de la barre de menu
        /// </summary>
        /// <param name="F1"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F2"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F3"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F4"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F5"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F6"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F7"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F8"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F9"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F10"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F11"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F12"><= 0 sera inactif, 0 > sera actif</param>
        public void EtatBouton(int F1, int F2, int F3, int F4, int F5, int F6,
            int F7, int F8, int F9, int F10, int F11, int F12)
        {
            this.kBtn1.Enabled = Convert.ToBoolean(F1);
            this.kBtn2.Enabled = Convert.ToBoolean(F2);
            this.kBtn3.Enabled = Convert.ToBoolean(F3);
            this.kBtn4.Enabled = Convert.ToBoolean(F4);
            this.kBtn5.Enabled = Convert.ToBoolean(F5);
            this.kBtn6.Enabled = Convert.ToBoolean(F6);
            this.kBtn7.Enabled = Convert.ToBoolean(F7);
            this.kBtn8.Enabled = Convert.ToBoolean(F8);
            this.kBtn9.Enabled = Convert.ToBoolean(F9);
            this.kBtn10.Enabled = Convert.ToBoolean(F10);
            this.kBtn11.Enabled = Convert.ToBoolean(F11);
            this.kBtn12.Enabled = Convert.ToBoolean(F12);
        }

        /// <summary>
        /// Permet d'activer ou non un Bouton de la barre de menu
        /// </summary>
        /// <param name="F1"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F2"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F3"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F4"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F5"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F6"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F7"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F8"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F9"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F10"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F11"><= 0 sera inactif, 0 > sera actif</param>
        /// <param name="F12"><= 0 sera inactif, 0 > sera actif</param>
        public void EtatBouton(string F1, string F2, string F3, string F4, string F5, string F6,
            string F7, string F8, string F9, string F10, string F11, string F12)
        {
            this.EtatBouton(Convert.ToInt32(F1),
                Convert.ToInt32(F2),
                Convert.ToInt32(F3),
                Convert.ToInt32(F4),
                Convert.ToInt32(F5),
                Convert.ToInt32(F6),
                Convert.ToInt32(F7),
                Convert.ToInt32(F8),
                Convert.ToInt32(F9),
                Convert.ToInt32(F10),
                Convert.ToInt32(F11),
                Convert.ToInt32(F12));
        }
        #endregion
        #endregion
    }
}
